iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Python

30天Python資料分析挑戰:從基礎到視覺化系列 第 13

Day 13: 資料型態轉換與處理

  • 分享至 

  • xImage
  •  

Day 13: 資料型態轉換與處理

在資料分析過程中,我們經常需要對資料進行型態轉換,以便後續的處理和分析。資料的型態可以是數字型、字串型、布林型等,進行正確的型態轉換能確保資料處理的準確性。

這裡的檔案沿用 Day 12 的檔案,其檔名為 iris_lock。直接點擊 +text,然後輸入以下內容。
https://ithelp.ithome.com.tw/upload/images/20240927/20140380ITI5tKom2z.png

1. 檢查資料型態

首先,我們可以使用 Pandas 的 dtypes 屬性來查看資料集每個欄位的型態。

# 檢查資料型態
print(iris_df.dtypes)

https://ithelp.ithome.com.tw/upload/images/20240927/20140380dAayZ1ID1Q.png
這段程式碼會顯示每個欄位的資料型態,幫助我們了解目前資料的結構。

2. 資料型態轉換

有時候,我們需要將資料型態進行轉換。例如,將某個數值型欄位轉換為字串型。可以使用 astype() 函數來進行型態轉換。

2.1 將數值型轉為字串型

我們可以將 sepal length (cm) 的數值轉換為字串型:

# 將數值型欄位轉換為字串型
iris_df['sepal length (cm)'] = iris_df['sepal length (cm)'].astype(str)

# 檢查轉換後的資料型態
print(iris_df.dtypes)

這樣可以將原本為數字的欄位轉換為字串格式。

2.2 將字串型轉為數值型

有時候,資料集中的數值可能被錯誤地存為字串格式,我們可以將這些欄位轉換回數值型:

# 將字串型欄位轉換為數值型
iris_df['sepal length (cm)'] = iris_df['sepal length (cm)'].astype(float)

# 檢查轉換後的資料型態
print(iris_df.dtypes)

https://ithelp.ithome.com.tw/upload/images/20240927/20140380zj1ClHWtMn.png
這樣可以將字串型資料正確轉換為數字型,方便後續進行數學運算或統計分析。

3. 處理類別型資料

在機器學習中,類別型資料(例如分類標籤)通常需要轉換為數字型,這樣才能用於模型訓練。這可以通過 Pandas 的 get_dummies() 函數來實現,將類別型資料轉換為一組二進制變數。

# 將類別型資料轉換為數值型虛擬變數
iris_df = pd.get_dummies(iris_df, columns=['target'])

# 顯示轉換後的資料集
print(iris_df.head())

https://ithelp.ithome.com.tw/upload/images/20240927/20140380mGYp38d9IG.png
這段程式碼會將 target(花卉類型)的類別型資料轉換為數值型虛擬變數。

4. 處理缺失值與不正確型態

有時候,我們會遇到資料中存在缺失值或不正確的資料型態。我們可以使用 pd.to_numeric() 來強制將資料轉換為數字,並同時處理錯誤資料。

# 將資料轉換為數值型,並處理錯誤資料
iris_df['sepal length (cm)'] = pd.to_numeric(iris_df['sepal length (cm)'], errors='coerce')

# 檢查是否有任何資料被轉換為 NaN
print(iris_df['sepal length (cm)'].isnull().sum())

https://ithelp.ithome.com.tw/upload/images/20240927/20140380TLXoqp6SZM.png
這段程式碼會將無法正確轉換的資料轉換為 NaN,我們可以在後續的資料清理中處理這些缺失值。

5. 小結

今天我們學習了資料型態轉換的基本操作,包括:

  1. 檢查資料型態。
  2. 進行數值型與字串型之間的轉換。
  3. 將類別型資料轉換為數值型資料。
  4. 處理缺失值與不正確型態。

這些資料型態的轉換與處理是進行資料分析的基礎,正確處理資料型態將為後續的分析和建模提供準確的基礎。接下來,我們將進一步學習如何對資料進行分組和彙總分析。


上一篇
Day 12: 資料篩選與資料切片
下一篇
Day 14: 資料的分組與彙總分析
系列文
30天Python資料分析挑戰:從基礎到視覺化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言